//---------------------------------------------------------------------
// 
//  Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//THIS CODE AND INFORMATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY
//KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
//IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
//PARTICULAR PURPOSE.
//---------------------------------------------------------------------

namespace Glpt.Common
{
    /// <summary>
    /// TreeGridNodeEventBase
    /// </summary>
	public class TreeGridNodeEventBase
    {
        private TreeGridNode _node;
        /// <summary>
        /// 初始化类的新实例
        /// </summary>
        /// <param name="node">TreeGridNode</param>
		public TreeGridNodeEventBase(TreeGridNode node)
        {
            this._node = node;
        }
        /// <summary>
        /// Node
        /// </summary>
		public TreeGridNode Node
        {
            get { return _node; }
        }
    }
    /// <summary>
    /// CollapsingEventArgs
    /// </summary>
	public class CollapsingEventArgs : System.ComponentModel.CancelEventArgs
    {
        private TreeGridNode _node;

        private CollapsingEventArgs() { }
        /// <summary>
        /// 初始化类的新实例
        /// </summary>
        /// <param name="node">node</param>
		public CollapsingEventArgs(TreeGridNode node)
            : base()
        {
            this._node = node;
        }
        /// <summary>
        /// Node
        /// </summary>
		public TreeGridNode Node
        {
            get { return _node; }
        }

    }
    /// <summary>
    /// CollapsedEventArgs
    /// </summary>
	public class CollapsedEventArgs : TreeGridNodeEventBase
    {
        /// <summary>
        /// 初始化类的新实例
        /// </summary>
        /// <param name="node">TreeGridNode</param>
		public CollapsedEventArgs(TreeGridNode node)
            : base(node)
        {
        }
    }
    /// <summary>
    /// ExpandingEventArgs
    /// </summary>
	public class ExpandingEventArgs : System.ComponentModel.CancelEventArgs
    {
        private TreeGridNode _node;

        private ExpandingEventArgs() { }
        /// <summary>
        /// 初始化类的新实例
        /// </summary>
        /// <param name="node">node</param>
		public ExpandingEventArgs(TreeGridNode node) : base()
        {
            this._node = node;
        }
        /// <summary>
        /// Node
        /// </summary>
		public TreeGridNode Node
        {
            get { return _node; }
        }

    }
    /// <summary>
    /// ExpandedEventArgs
    /// </summary>
	public class ExpandedEventArgs : TreeGridNodeEventBase
    {
        /// <summary>
        /// 初始化类的新实例
        /// </summary>
        /// <param name="node"></param>
		public ExpandedEventArgs(TreeGridNode node) : base(node)
        {
        }
    }
    /// <summary>
    /// ExpandingEventHandler
    /// </summary>
    /// <param name="sender">sender</param>
    /// <param name="e">e</param>
	public delegate void ExpandingEventHandler(object sender, ExpandingEventArgs e);
    /// <summary>
    /// ExpandedEventHandler
    /// </summary>
    /// <param name="sender">sender</param>
    /// <param name="e">e</param>
	public delegate void ExpandedEventHandler(object sender, ExpandedEventArgs e);
    /// <summary>
    /// CollapsingEventHandler
    /// </summary>
    /// <param name="sender">sender</param>
    /// <param name="e">e</param>
	public delegate void CollapsingEventHandler(object sender, CollapsingEventArgs e);
    /// <summary>
    /// CollapsedEventHandler
    /// </summary>
    /// <param name="sender">sender</param>
    /// <param name="e">e</param>
	public delegate void CollapsedEventHandler(object sender, CollapsedEventArgs e);

}
